/*
 * FileName：SysRes.java 
 * <p>
 * Copyright (c) 2017-2020, <a href="http://www.webcsn.com">hermit (1154808491@qq.com)</a>.
 * <p>
 * Licensed under the GNU General Public License, Version 3 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.gnu.org/licenses/gpl-3.0.html
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */
package com.smart.primary.sys.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.smart.primary.common.page.Page;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
* 资源菜单信息表 Entity层
*
* @author hermit
* @date 2018-02-23 11:02:18
*/
@Data
public class Res extends Page implements Serializable{

	/**
	* 资源id
	*/
	private String resId;

	/**
	* 资源名称
	*/
	private String resName;

	/**
	* 父id，0为顶级
	*/
	private String parentId;

	/**
	* 资源类型：1菜单 2功能
	*/
	private Integer resType;

	public String getResId() {
		return resId;
	}

	public void setResId(String resId) {
		this.resId = resId;
	}

	public String getResName() {
		return resName;
	}

	public void setResName(String resName) {
		this.resName = resName;
	}

	public String getParentId() {
		return parentId;
	}

	public void setParentId(String parentId) {
		this.parentId = parentId;
	}

	public Integer getResType() {
		return resType;
	}

	public void setResType(Integer resType) {
		this.resType = resType;
	}

	public String getResCode() {
		return resCode;
	}

	public void setResCode(String resCode) {
		this.resCode = resCode;
	}

	public String getResUrl() {
		return resUrl;
	}

	public void setResUrl(String resUrl) {
		this.resUrl = resUrl;
	}

	public String getResIcon() {
		return resIcon;
	}

	public void setResIcon(String resIcon) {
		this.resIcon = resIcon;
	}

	public Integer getResOrder() {
		return resOrder;
	}

	public void setResOrder(Integer resOrder) {
		this.resOrder = resOrder;
	}

	public Integer getResState() {
		return resState;
	}

	public void setResState(Integer resState) {
		this.resState = resState;
	}

	public Integer getIsLeaf() {
		return isLeaf;
	}

	public void setIsLeaf(Integer isLeaf) {
		this.isLeaf = isLeaf;
	}

	public Integer getIsSystem() {
		return isSystem;
	}

	public void setIsSystem(Integer isSystem) {
		this.isSystem = isSystem;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getCreateUserId() {
		return createUserId;
	}

	public void setCreateUserId(String createUserId) {
		this.createUserId = createUserId;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getUpdateUserId() {
		return updateUserId;
	}

	public void setUpdateUserId(String updateUserId) {
		this.updateUserId = updateUserId;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public List<Res> getSubList() {
		return subList;
	}

	public void setSubList(List<Res> subList) {
		this.subList = subList;
	}

	/**
	* 资源编码(唯一)
	*/
	private String resCode;

	/**
	* url链接
	*/
	private String resUrl;

	/**
	* 菜单图标：class名称
	*/
	private String resIcon;

	/**
	* 菜单排序
	*/
	private Integer resOrder;

	/**
	* 资源状态：0禁用 1启用
	*/
	private Integer resState;

	/**
	* 控制菜单展示，是否是叶子：0否 1是
	*/
	private Integer isLeaf;

	/**
	 * 是否系统资源：0否 1是
	 */
	private Integer isSystem;

	/**
	* 备注
	*/
	private String remark;

	/**
	* 创建人
	*/
	private String createUserId;

	/**
	* 创建时间
	*/
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private Date createTime;

	/**
	* 修改人
	*/
	private String updateUserId;

	/**
	* 修改时间
	*/
	private Date updateTime;

	private List<Res> subList;
}
